"""
 Copyright 2019 Xilinx Inc.

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
"""

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: tensorflow/core/framework/function.proto

import sys

_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1"))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from xnnc.proto.tf_pb2 import (
    attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2,
)
from xnnc.proto.tf_pb2 import (
    node_def_pb2 as tensorflow_dot_core_dot_framework_dot_node__def__pb2,
)
from xnnc.proto.tf_pb2 import (
    op_def_pb2 as tensorflow_dot_core_dot_framework_dot_op__def__pb2,
)


DESCRIPTOR = _descriptor.FileDescriptor(
    name="tensorflow/core/framework/function.proto",
    package="tensorflow",
    syntax="proto3",
    serialized_options=_b(
        "\n\030org.tensorflow.frameworkB\016FunctionProtosP\001Z=github.com/tensorflow/tensorflow/tensorflow/go/core/framework\370\001\001"
    ),
    serialized_pb=_b(
        '\n(tensorflow/core/framework/function.proto\x12\ntensorflow\x1a*tensorflow/core/framework/attr_value.proto\x1a(tensorflow/core/framework/node_def.proto\x1a&tensorflow/core/framework/op_def.proto"j\n\x12\x46unctionDefLibrary\x12)\n\x08\x66unction\x18\x01 \x03(\x0b\x32\x17.tensorflow.FunctionDef\x12)\n\x08gradient\x18\x02 \x03(\x0b\x32\x17.tensorflow.GradientDef"\xa1\x03\n\x0b\x46unctionDef\x12$\n\tsignature\x18\x01 \x01(\x0b\x32\x11.tensorflow.OpDef\x12/\n\x04\x61ttr\x18\x05 \x03(\x0b\x32!.tensorflow.FunctionDef.AttrEntry\x12%\n\x08node_def\x18\x03 \x03(\x0b\x32\x13.tensorflow.NodeDef\x12-\n\x03ret\x18\x04 \x03(\x0b\x32 .tensorflow.FunctionDef.RetEntry\x12<\n\x0b\x63ontrol_ret\x18\x06 \x03(\x0b\x32\'.tensorflow.FunctionDef.ControlRetEntry\x1a\x42\n\tAttrEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.tensorflow.AttrValue:\x02\x38\x01\x1a*\n\x08RetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x31\n\x0f\x43ontrolRetEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x02\x10\x03";\n\x0bGradientDef\x12\x15\n\rfunction_name\x18\x01 \x01(\t\x12\x15\n\rgradient_func\x18\x02 \x01(\tBn\n\x18org.tensorflow.frameworkB\x0e\x46unctionProtosP\x01Z=github.com/tensorflow/tensorflow/tensorflow/go/core/framework\xf8\x01\x01\x62\x06proto3'
    ),
    dependencies=[
        tensorflow_dot_core_dot_framework_dot_attr__value__pb2.DESCRIPTOR,
        tensorflow_dot_core_dot_framework_dot_node__def__pb2.DESCRIPTOR,
        tensorflow_dot_core_dot_framework_dot_op__def__pb2.DESCRIPTOR,
    ],
)


_FUNCTIONDEFLIBRARY = _descriptor.Descriptor(
    name="FunctionDefLibrary",
    full_name="tensorflow.FunctionDefLibrary",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="function",
            full_name="tensorflow.FunctionDefLibrary.function",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="gradient",
            full_name="tensorflow.FunctionDefLibrary.gradient",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=182,
    serialized_end=288,
)


_FUNCTIONDEF_ATTRENTRY = _descriptor.Descriptor(
    name="AttrEntry",
    full_name="tensorflow.FunctionDef.AttrEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="tensorflow.FunctionDef.AttrEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="tensorflow.FunctionDef.AttrEntry.value",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=_b("8\001"),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=541,
    serialized_end=607,
)

_FUNCTIONDEF_RETENTRY = _descriptor.Descriptor(
    name="RetEntry",
    full_name="tensorflow.FunctionDef.RetEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="tensorflow.FunctionDef.RetEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="tensorflow.FunctionDef.RetEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=_b("8\001"),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=609,
    serialized_end=651,
)

_FUNCTIONDEF_CONTROLRETENTRY = _descriptor.Descriptor(
    name="ControlRetEntry",
    full_name="tensorflow.FunctionDef.ControlRetEntry",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="tensorflow.FunctionDef.ControlRetEntry.key",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="value",
            full_name="tensorflow.FunctionDef.ControlRetEntry.value",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=_b("8\001"),
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=653,
    serialized_end=702,
)

_FUNCTIONDEF = _descriptor.Descriptor(
    name="FunctionDef",
    full_name="tensorflow.FunctionDef",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="signature",
            full_name="tensorflow.FunctionDef.signature",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="attr",
            full_name="tensorflow.FunctionDef.attr",
            index=1,
            number=5,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="node_def",
            full_name="tensorflow.FunctionDef.node_def",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="ret",
            full_name="tensorflow.FunctionDef.ret",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="control_ret",
            full_name="tensorflow.FunctionDef.control_ret",
            index=4,
            number=6,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[
        _FUNCTIONDEF_ATTRENTRY,
        _FUNCTIONDEF_RETENTRY,
        _FUNCTIONDEF_CONTROLRETENTRY,
    ],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=291,
    serialized_end=708,
)


_GRADIENTDEF = _descriptor.Descriptor(
    name="GradientDef",
    full_name="tensorflow.GradientDef",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="function_name",
            full_name="tensorflow.GradientDef.function_name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="gradient_func",
            full_name="tensorflow.GradientDef.gradient_func",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=710,
    serialized_end=769,
)

_FUNCTIONDEFLIBRARY.fields_by_name["function"].message_type = _FUNCTIONDEF
_FUNCTIONDEFLIBRARY.fields_by_name["gradient"].message_type = _GRADIENTDEF
_FUNCTIONDEF_ATTRENTRY.fields_by_name[
    "value"
].message_type = tensorflow_dot_core_dot_framework_dot_attr__value__pb2._ATTRVALUE
_FUNCTIONDEF_ATTRENTRY.containing_type = _FUNCTIONDEF
_FUNCTIONDEF_RETENTRY.containing_type = _FUNCTIONDEF
_FUNCTIONDEF_CONTROLRETENTRY.containing_type = _FUNCTIONDEF
_FUNCTIONDEF.fields_by_name[
    "signature"
].message_type = tensorflow_dot_core_dot_framework_dot_op__def__pb2._OPDEF
_FUNCTIONDEF.fields_by_name["attr"].message_type = _FUNCTIONDEF_ATTRENTRY
_FUNCTIONDEF.fields_by_name[
    "node_def"
].message_type = tensorflow_dot_core_dot_framework_dot_node__def__pb2._NODEDEF
_FUNCTIONDEF.fields_by_name["ret"].message_type = _FUNCTIONDEF_RETENTRY
_FUNCTIONDEF.fields_by_name["control_ret"].message_type = _FUNCTIONDEF_CONTROLRETENTRY
DESCRIPTOR.message_types_by_name["FunctionDefLibrary"] = _FUNCTIONDEFLIBRARY
DESCRIPTOR.message_types_by_name["FunctionDef"] = _FUNCTIONDEF
DESCRIPTOR.message_types_by_name["GradientDef"] = _GRADIENTDEF
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

FunctionDefLibrary = _reflection.GeneratedProtocolMessageType(
    "FunctionDefLibrary",
    (_message.Message,),
    dict(
        DESCRIPTOR=_FUNCTIONDEFLIBRARY,
        __module__="tensorflow.core.framework.function_pb2"
        # @@protoc_insertion_point(class_scope:tensorflow.FunctionDefLibrary)
    ),
)
_sym_db.RegisterMessage(FunctionDefLibrary)

FunctionDef = _reflection.GeneratedProtocolMessageType(
    "FunctionDef",
    (_message.Message,),
    dict(
        AttrEntry=_reflection.GeneratedProtocolMessageType(
            "AttrEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_FUNCTIONDEF_ATTRENTRY,
                __module__="tensorflow.core.framework.function_pb2"
                # @@protoc_insertion_point(class_scope:tensorflow.FunctionDef.AttrEntry)
            ),
        ),
        RetEntry=_reflection.GeneratedProtocolMessageType(
            "RetEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_FUNCTIONDEF_RETENTRY,
                __module__="tensorflow.core.framework.function_pb2"
                # @@protoc_insertion_point(class_scope:tensorflow.FunctionDef.RetEntry)
            ),
        ),
        ControlRetEntry=_reflection.GeneratedProtocolMessageType(
            "ControlRetEntry",
            (_message.Message,),
            dict(
                DESCRIPTOR=_FUNCTIONDEF_CONTROLRETENTRY,
                __module__="tensorflow.core.framework.function_pb2"
                # @@protoc_insertion_point(class_scope:tensorflow.FunctionDef.ControlRetEntry)
            ),
        ),
        DESCRIPTOR=_FUNCTIONDEF,
        __module__="tensorflow.core.framework.function_pb2"
        # @@protoc_insertion_point(class_scope:tensorflow.FunctionDef)
    ),
)
_sym_db.RegisterMessage(FunctionDef)
_sym_db.RegisterMessage(FunctionDef.AttrEntry)
_sym_db.RegisterMessage(FunctionDef.RetEntry)
_sym_db.RegisterMessage(FunctionDef.ControlRetEntry)

GradientDef = _reflection.GeneratedProtocolMessageType(
    "GradientDef",
    (_message.Message,),
    dict(
        DESCRIPTOR=_GRADIENTDEF,
        __module__="tensorflow.core.framework.function_pb2"
        # @@protoc_insertion_point(class_scope:tensorflow.GradientDef)
    ),
)
_sym_db.RegisterMessage(GradientDef)


DESCRIPTOR._options = None
_FUNCTIONDEF_ATTRENTRY._options = None
_FUNCTIONDEF_RETENTRY._options = None
_FUNCTIONDEF_CONTROLRETENTRY._options = None
# @@protoc_insertion_point(module_scope)
